package com.bt.lms.ui.page.teaching.arrange;

import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Cursor;
import javafx.scene.Node;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;

import java.util.ArrayList;
import java.util.List;

/**
 * 教学安排主界面
 */
public class PageTeachingArrangeList extends VBox {

    /**
     * 教学管理界面宽度
     */
    private double preWidth = 1280;

    /**
     * 教学管理界面高度
     */
    private double preHeight = 800;
    /**
     *列名默认长度
     */
    private double columnPreWidth = 100;

    public PageTeachingArrangeList(){

//        this.setPrefSize(preWidth,preHeight);
//        this.setPadding(new Insets(5));
//        this.setSpacing(20);
//        //顶部横向盒子
//        HBox topHBox = new HBox();
//        initTopHBox(topHBox);
//        //两个按钮横向盒子
//        HBox twoBtnHBox = new HBox();
//        initTwoBtnHBox(twoBtnHBox);
//        //搜索区域横向盒子
//        HBox searchHBox = new HBox();
//        initSearchHBox(searchHBox);
//        //批量新增教学安排横向盒子
//        HBox addTeachingArrangesHBox = new HBox();
//        initAddTeachingArrangesHBox(addTeachingArrangesHBox);
//        //表格盒子
//        VBox tableVBox = new VBox();
//        initTableVBox(tableVBox);
//        //页码横向盒子
//        HBox pageNumHBox = new HBox();
//        initPageNumHBox(pageNumHBox);
//
//
//        ObservableList<Node> children = this.getChildren();
//        children.addAll(topHBox,twoBtnHBox,searchHBox,addTeachingArrangesHBox,tableVBox,pageNumHBox);
//
//
//    }
//
//    /**
//     * 页码横向盒子
//     * @param pageNumHBox
//     */
//    private void initPageNumHBox(HBox pageNumHBox) {
//        pageNumHBox.setSpacing(20);
//        pageNumHBox.setPadding(new Insets(10));
//        pageNumHBox.setAlignment(Pos.CENTER_RIGHT);
//        //首页标签
//        Label homeLab = new Label("<<首页");
//        homeLab.setTextFill(Color.rgb(108,221,83));
//        homeLab.setFont(new Font(20));
//        //上一页标签
//        Label previousPageLab = new Label("<<上一页");
//        previousPageLab.setTextFill(Color.rgb(108,221,83));
//        previousPageLab.setFont(new Font(20));
//        //第一页按钮
//        Button onePageBtn = new Button("1");
//        onePageBtn.setPrefWidth(27);
//        onePageBtn.setPrefHeight(30);
//        //第二页按钮
//        Button twoPageBtn = new Button("2");
//        twoPageBtn.setPrefWidth(27);
//        twoPageBtn.setPrefHeight(30);
//        //第三页按钮
//        Button threePageBtn = new Button("3");
//        threePageBtn.setPrefWidth(27);
//        threePageBtn.setPrefHeight(30);
//        //第四页按钮
//        Button fourPageBtn = new Button("4");
//        fourPageBtn.setPrefWidth(27);
//        fourPageBtn.setPrefHeight(30);
//        //下一页标签
//        Label nextPageLab = new Label("下一页>>");
//        nextPageLab.setFont(new Font(20));
//        nextPageLab.setTextFill(Color.rgb(108,221,83));
//        //尾页标签
//        Label endPageLab = new Label("尾页>>");
//        endPageLab.setFont(new Font(20));
//        endPageLab.setTextFill(Color.rgb(108,221,83));
//        //总记录数条
//        Label totalPageLab = new Label("总记录数100条");
//        totalPageLab.setFont(new Font(20));
//        totalPageLab.setTextFill(Color.rgb(255,65,55));
//        //条数文本框
//        TextField countTF = new TextField();
//        countTF.setPrefWidth(100);
//        // /10标签
//        Label tenLab = new Label("/10");
//        tenLab.setFont(new Font(20));
//        //GO按钮
//        Button goBtn = new Button("GO");
//        goBtn.setOnMouseEntered(new EventHandler<MouseEvent>() {
//            @Override
//            public void handle(MouseEvent event) {
//                goBtn.setCursor(Cursor.HAND);
//            }
//        });
//
//        ObservableList<Node> children = pageNumHBox.getChildren();
//        children.addAll(homeLab,previousPageLab,onePageBtn,twoPageBtn,threePageBtn,fourPageBtn,nextPageLab,endPageLab,totalPageLab,countTF,tenLab,goBtn);
//    }
//
//    /**
//     * 表格盒子
//     * @param tableVBox
//     */
//    private void initTableVBox(VBox tableVBox) {
//
//        //表格
//        TableView tableView = new TableView<>();
//        //多选框列
//        TableColumn checkBoxColumn = new TableColumn<>("可多选");
//        //数据1盒子
//        HBox data1HBox = new HBox();
//        data1HBox.setAlignment(Pos.CENTER);
//        //数据1的多选框
//        CheckBox checkBox1 = new CheckBox();
//        data1HBox.getChildren().add(checkBox1);
//        //数据2盒子
//        HBox data2HBox = new HBox();
//        data2HBox.setAlignment(Pos.CENTER);
//        //数据1的多选框
//        CheckBox checkBox2 = new CheckBox();
//        data2HBox.getChildren().add(checkBox2);
//        //数据3盒子
//        HBox data3HBox = new HBox();
//        data3HBox.setAlignment(Pos.CENTER);
//        //数据1的多选框
//        CheckBox checkBox3 = new CheckBox();
//        data3HBox.getChildren().add(checkBox3);
//
//
//        TableColumn classIDColumn = new TableColumn<>("班级ID");//班级ID列
//        classIDColumn.setPrefWidth(columnPreWidth);//列名默认长度
//        TableColumn classNameColumn = new TableColumn<>("班级名称");//班级名称列
//        classNameColumn.setPrefWidth(columnPreWidth);
//        TableColumn teachingPlanColumn = new TableColumn<>("关联教学计划");//教学计划列
//        teachingPlanColumn.setPrefWidth(columnPreWidth+columnPreWidth);
//        TableColumn ofSchoolColumn = new TableColumn<>("所属院校");//所属院校列
//        ofSchoolColumn.setPrefWidth(columnPreWidth);
//        TableColumn levelColumn = new TableColumn<>("层次");//层次列
//        levelColumn.setPrefWidth(columnPreWidth);
//        TableColumn specialtyColumn = new TableColumn<>("所学专业");//所学专业列
//        specialtyColumn.setPrefWidth(columnPreWidth);
//        TableColumn classPeopleColumn = new TableColumn<>("班级人数");//班级人数列
//        classPeopleColumn.setPrefWidth(columnPreWidth);
//        TableColumn statusColumn = new TableColumn<>("状态");//状态列
//        statusColumn.setPrefWidth(columnPreWidth);
//        TableColumn courseTimeColumn = new TableColumn<>("已安排课次");//已安排课次列
//        courseTimeColumn.setPrefWidth(columnPreWidth);
//
//        tableVBox.getChildren().addAll(tableView);
//        //模拟表中数据
//        ClassDetailInfo classDetailInfo1 = new ClassDetailInfo(data1HBox,"31512","班级1","教学计划A","西南大学","免费师范生","数学","50","未安排","0");
//        ClassDetailInfo classDetailInfo2 = new ClassDetailInfo(data2HBox,"123456","班级2","教学计划B","济南大学","博士","英语","30","未安排","0");
//        ClassDetailInfo classDetailInfo3 = new ClassDetailInfo(data3HBox,"45312","班级3","教学计划C","清华大学","硕士","计算机","100","已安排","5");
//
//
//        //数据集合
//        List<ClassDetailInfo>classDetailInfoList = new ArrayList<>();
//        classDetailInfoList.add(classDetailInfo1);
//        classDetailInfoList.add(classDetailInfo2);
//        classDetailInfoList.add(classDetailInfo3);
//
//        //将数据集合转换成javaFX组件集合
//        ObservableList<ClassDetailInfo>classDetailInfos = FXCollections.observableArrayList(classDetailInfoList);
//        tableView.setItems(classDetailInfos);
//
//
//
//        //映射到表中
//        checkBoxColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("checkBox"));
//        classIDColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("classID"));
//        classNameColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("className"));
//        teachingPlanColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("teachingPlan"));
//        ofSchoolColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("ofSchool"));
//        levelColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("level"));
//        specialtyColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("specialty"));
//        classPeopleColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("classPeople"));
//        statusColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("status"));
//        courseTimeColumn.setCellValueFactory(new PropertyValueFactory<ClassDetailInfo,String>("courseTime"));
//
//        tableView.getColumns().addAll(checkBoxColumn,classIDColumn,classNameColumn,teachingPlanColumn,ofSchoolColumn,levelColumn,specialtyColumn,classPeopleColumn,statusColumn,courseTimeColumn);
//
//
//
//    }
//
//    /**
//     * 批量新增教学安排盒子
//     * @param addTeachingArrangesHBox
//     */
//    private void initAddTeachingArrangesHBox(HBox addTeachingArrangesHBox) {
//        addTeachingArrangesHBox.setPadding(new Insets(5));
//        //批量新增教学安排按钮
//        Button addTeachingArrangesBtn = new Button("新增教学安排");
//        BtnStyle.addBtn(addTeachingArrangesBtn);
//
//        //按钮事件
//        PageMainAddTeachingArrangeBtnAction pageMainAddTeachingArrangeBtnAction = new PageMainAddTeachingArrangeBtnAction();
//        addTeachingArrangesBtn.setOnAction(pageMainAddTeachingArrangeBtnAction);
//        addTeachingArrangesBtn.setCursor(Cursor.HAND);
//
//        ObservableList<Node> children = addTeachingArrangesHBox.getChildren();
//        children.addAll(addTeachingArrangesBtn);
//    }
//
//    /**
//     * 搜索区域横向盒子
//     * @param searchHBox
//     */
//    private void initSearchHBox(HBox searchHBox) {
//        searchHBox.setSpacing(20);
//        searchHBox.setPadding(new Insets(5));
//        //按照院校查看下拉框
//        ComboBox schoolCB = new ComboBox<>();
//        schoolCB.getItems().add("按所属院校");
//        schoolCB.getItems().add("按招生计划");
//        schoolCB.getItems().add("按教学计划");
//        schoolCB.getItems().add("按班级名称");
//        schoolCB.getItems().add("按层次");
//        schoolCB.getItems().add("按专业");
//        schoolCB.getSelectionModel().selectFirst();
//        //模糊查询标签
//        Label searchLab = new Label("模糊查询");
//        //模糊查询文本框
//        TextField searchTF = new TextField();
//        //状态标签
//        Label statusLab = new Label("状态");
//        //状态下拉框
//        ComboBox statusCB = new ComboBox<>();
//        statusCB.getItems().add("全部");
//        statusCB.getItems().add("已安排");
//        statusCB.getItems().add("未安排");
//        statusCB.getSelectionModel().selectFirst();
//        //搜素按钮
//        Button searchBtn = new Button("搜索");
//        BtnStyle.cancelBtn(searchBtn);
//        BtnStyle.cancelBtnAction(searchBtn);
//        ObservableList<Node> children = searchHBox.getChildren();
//        children.addAll(schoolCB,searchLab,searchTF,statusLab,statusCB,searchBtn);
//
//    }
//
//    /**
//     * 两个按钮横向盒子
//     * @param twoBtnHBox
//     */
//    private void initTwoBtnHBox(HBox twoBtnHBox) {
//        twoBtnHBox.setSpacing(20);
//        twoBtnHBox.setPadding(new Insets(5));
//        //按班级查看按钮
//        Button classBtn = new Button("按班级查看");
//        BtnStyle.cancelBtn(classBtn);
//        classBtn.setOnMouseEntered(new EventHandler<MouseEvent>() {
//            @Override
//            public void handle(MouseEvent event) {
//                classBtn.setCursor(Cursor.HAND);
//            }
//        });
//        //按课程查看按钮
//        Button courseBtn = new Button("按课程查看");
//        BtnStyle.cancelBtn(courseBtn);
//
//        ObservableList<Node> children = twoBtnHBox.getChildren();
//        children.addAll(classBtn,courseBtn);
//
//        //按照课程查看按钮事件
//        PageTeachingArrangeCourseLookBtnAction pageTeachingArrangeCourseLookBtnAction = new PageTeachingArrangeCourseLookBtnAction();
//        courseBtn.setCursor(Cursor.HAND);
//        courseBtn.setOnAction(pageTeachingArrangeCourseLookBtnAction);
//    }
//
//    /**
//     * 顶部横向盒子
//     * @param topHBox
//     */
//    private void initTopHBox(HBox topHBox) {
//        //顶部横向盒子间距
//        topHBox.setPadding(new Insets(5));
//        topHBox.setSpacing(20);
//        //标签
//        Label topLab = new Label("当前位置：🏠>教学管理>按班级查看");
//
//        topLab.setFont(new Font(20));
//        topHBox.getChildren().add(topLab);
//    }
}}
